package com.yc.pay.service;

import com.yc.pay.api.req.NetBankPayReq;
import com.yc.pay.api.req.PayQueryReq;
import com.yc.pay.api.resp.RespVo;
import com.yc.pay.model.PaySerial;

/**
 * 支付流水相关接口
 */
public interface IPaySerialService {

    /**
     * 创建支付流水
     */
    public PaySerial createPaySerial(NetBankPayReq netBankPayReq);


    /**
     * 根据流水号查询
     * @param outTradeNo
     * @return
     */
    public PaySerial queryByOutTradeNo(String outTradeNo);

    /**
     * 更新交易流水
     */
    public void  updatePaySerial(PaySerial paySerial);



    /**
     * 根据商户业务id 或者 支付流水号查询
     */
    public RespVo<Object> tradeQuery(PayQueryReq payQueryReq);


    /**
     * 根据商户业务id 或者 支付流水号关闭交易
     */
    public RespVo<Object> tradeClose(PayQueryReq payQueryReq);

}
